package com.funo.main.entities;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.funo.business.entities.TemplateItem;

@Entity
@Table(name = "U_USER")
public class User implements Serializable {

	private static final long serialVersionUID = 4604135941123777213L;

	//主键Id
	@Id
	@Column(name = "USER_ID")
	private String id;

	//所属机构
	@ManyToOne
	@JoinColumn(name = "ORG_ID")
	private Org org;

	//角色名称
	@Column(name = "NAME")
	private String name;

	//是否系统用户
	@Column(name = "IS_SYS_USER")
	private String isSysUser;

	//登录名
	@Column(name = "LOG_NAME")
	private String logName;

	public Org getOrg() {
		return org;
	}

	public void setOrg(Org org) {
		this.org = org;
	}

	//密码
	@Column(name = "PASSWORD")
	private String password;

	//性别
	@Column(name = "SEX")
	private String sex;

	//民族
	@Column(name = "NATION")
	private String nation;

	//是否部门领导
	@Column(name = "IS_ORG_LEADER")
	private String isOrgLeader;

	//QQ
	@Column(name = "QQ")
	private String qq;

	//MSN
	@Column(name = "MSN")
	private String msn;

	//手机号
	@Column(name = "MOBILE_PHONE")
	private String mobilePhone;

	//籍贯
	@Column(name = "NATIVE_PLACE")
	private String nativePlace;

	//帐号状态
	@Column(name = "ACCOUNT_STATUS")
	private String accountStatus;

	//操作时间
	@Column(name = "OP_TIME")
	@Temporal(TemporalType.TIMESTAMP)
	private Date opTime;

	//操作人姓名
	@Column(name = "OP_USER_NAME")
	private String opUserName;

	//创建时间
	@Column(name = "CR_TIME")
	@Temporal(TemporalType.TIMESTAMP)
	private Date crTime;

	//创建人姓名
	@Column(name = "CR_USER_NAME")
	private String crUserName;

	//帐号类型  web端与手机端是否能登录  （0都不能登录 1仅web端可以登录  2仅手机端可以登录  3web 手机端都可以登录）
	@Column(name = "ACCOUNT_TYPE")
	private String accountType;

	//密码修改时间
	@Column(name = "PS_UPDATE_TIME")
	@Temporal(TemporalType.TIMESTAMP)
	private Date psUpdateTime;
	
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}


	public String getIsSysUser() {
		return isSysUser;
	}

	public void setIsSysUser(String isSysUser) {
		this.isSysUser = isSysUser;
	}

	public String getLogName() {
		return logName;
	}

	public void setLogName(String logName) {
		this.logName = logName;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getNation() {
		return nation;
	}

	public void setNation(String nation) {
		this.nation = nation;
	}

	public String getIsOrgLeader() {
		return isOrgLeader;
	}

	public void setIsOrgLeader(String isOrgLeader) {
		this.isOrgLeader = isOrgLeader;
	}

	public String getQq() {
		return qq;
	}

	public void setQq(String qq) {
		this.qq = qq;
	}

	public String getMsn() {
		return msn;
	}

	public void setMsn(String msn) {
		this.msn = msn;
	}

	public String getMobilePhone() {
		return mobilePhone;
	}

	public void setMobilePhone(String mobilePhone) {
		this.mobilePhone = mobilePhone;
	}

	public String getNativePlace() {
		return nativePlace;
	}

	public void setNativePlace(String nativePlace) {
		this.nativePlace = nativePlace;
	}

	public String getAccountStatus() {
		return accountStatus;
	}

	public void setAccountStatus(String accountStatus) {
		this.accountStatus = accountStatus;
	}

	public Date getOpTime() {
		return opTime;
	}

	public void setOpTime(Date opTime) {
		this.opTime = opTime;
	}

	public String getOpUserName() {
		return opUserName;
	}

	public void setOpUserName(String opUserName) {
		this.opUserName = opUserName;
	}

	public Date getCrTime() {
		return crTime;
	}

	public void setCrTime(Date crTime) {
		this.crTime = crTime;
	}

	public String getCrUserName() {
		return crUserName;
	}

	public void setCrUserName(String crUserName) {
		this.crUserName = crUserName;
	}

	public String getAccountType() {
		return accountType;
	}

	public void setAccountType(String accountType) {
		this.accountType = accountType;
	}

	public Date getPsUpdateTime() {
		return psUpdateTime;
	}

	public void setPsUpdateTime(Date psUpdateTime) {
		this.psUpdateTime = psUpdateTime;
	}


}
